# 通过selenium模拟浏览器滚轮滑动
import time
import random
from selenium import webdriver
from selenium.webdriver.common.by import By


# 实例化谷歌浏览器对象
driver = webdriver.Chrome()

# 打开百度首页
driver.get('https://www.baidu.com')
driver.maximize_window()

# 定位百度输入框的元素标签
input_element = driver.find_element(By.XPATH, '//input[@id="kw"]')

# 对定位到的输入框元素标签进行文字的输入
input_element.send_keys('美女')

# 定位百度搜索按钮的元素标签
button_element = driver.find_element(By.XPATH, '//input[@id="su"]')

# 对定位到的按钮元素标签进行点击
button_element.click()


# 使用循环来模拟用户滚动下滑
for i in range(1, 5):
    # 随机生成一个2-4秒的等待时间数字
    random_num = random.randint(2, 4)
    # 等待数据加载完毕
    time.sleep(random_num)

    # 随机生成一个滚动距离的数字
    random_range = random.randint(500, 1000)

    # 对搜索到的网页数据进行页面滚动下滑(y轴移动的坐标值不是累加的，而是固定的)
    driver.execute_script(f'window.scrollTo(0, {i * random_range});')

    # 对搜索到的网页数据进行页面滚动下滑到底部
    # driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')

time.sleep(10)
